package com.bmob.lover.ui.fragment.album

import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.RecyclerView
import com.bmob.lover.R
import com.bmob.lover.data.model.bean.Album
import com.bmob.lover.data.model.bean.TheFile
import com.bmob.lover.databinding.FragmentAlbumPublishBinding
import com.bmob.lover.ui.fragment.base.BaseFileUploadFragment
import com.bmob.lover.viewmodel.*
import com.bmob.lover.viewmodel.base.BaseBmobActionViewModel
import com.bmob.lover.viewmodel.request.AlbumSaveViewModel

//  ┏┓　　　┏┓
//┏┛┻━━━┛┻┓
//┃　　　　　　　┃
//┃　　　━　　　┃
//┃　┳┛　┗┳　┃
//┃　　　　　　　┃
//┃　　　┻　　　┃
//┃　　　　　　　┃
//┗━┓　　　┏━┛
//    ┃　　　┃                  神兽保佑
//    ┃　　　┃                  永无BUG！
//    ┃　　　┗━━━┓
//    ┃　　　　　　　┣┓
//    ┃　　　　　　　┏┛
//    ┗┓┓┏━┳┓┏┛
//      ┃┫┫　┃┫┫
//      ┗┻┛　┗┻┛
/**
 * @author The one
 * @date 2021-05-06 14:40
 * @describe TODO
 * @email 625805189@qq.com
 * @remark
 */
class AlbumPublishFragment :
    BaseFileUploadFragment<Album, AlbumPublishViewModel, FragmentAlbumPublishBinding>() {

    private val mPublishVm: AlbumSaveViewModel by viewModels()

    override fun getPublishViewModel(): BaseBmobActionViewModel<Album> = mPublishVm

    override fun onPictureNoneSelectClick() {
        mPublishVm.save(getViewModel().content.get())
    }

    override fun getTitle(): String = "添加照片"

    override fun onUploadFileSuccess(files: List<TheFile>) {
        mPublishVm.save(getViewModel().content.get(), files)
    }

    override fun getLayoutId(): Int = R.layout.fragment_album_publish

    override fun getRecyclerView(): RecyclerView = getDataBinding().recyclerView

}